////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef _CINEMATIC_THREAD_H_
#define _CINEMATIC_THREAD_H_

#include "CGlobals.h"
#include "IrrArray.h"


enum 
{
	E_THREAD_TYPE_OBJ = 0,
	E_THREAD_TYPE_BASIC = 1,
	E_THREAD_TYPE_CAMERA = 2,
	E_THREAD_TYPE_PLAYER = 3,
};
////////////////////////////////////////////////////////////////////////////////////////////////////
//
class CSceneObject;
class CCinematicCommand;
////////////////////////////////////////////////////////////////////////////////////////////////////
//
extern CGlobals* g;
////////////////////////////////////////////////////////////////////////////////////////////////////
//
class CCinematicThread
{
	public:
		CCinematicThread(s32 type , s32 id = -1);
		~CCinematicThread();

		s32				m_Id;
		s32				m_Type;
		stringw			m_Name;		
		CSceneObject*	m_Obj;
		bool			m_visibleInScene;

		array<CCinematicCommand*>* m_ThreadCinematics;

		int m_lastExecdKeyFrame;
		int m_lastExecdKeyFrame2;
		int m_lastExecdCmd; //for no interpl cmds
};
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
#endif